﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OrderWorkflow.OrderWorkflowWithExternalDsl 
{
    public class OrderWorkflowConstants
    {
        public class Steps
        {
            public const string ConcordeCustomerDataManualStep = "ConcordeCustomerData";
            public const string CheckPossibleDiscountsManualStep = "CheckPossibleDiscounts";
            public const string SendNotificationEmailToCustomerAutomaticStep = "SendNotificationEmailToCustomer";
            public const string ShipItemsManualStep = "ShipItems";
            public const string OrderMissingItemsManualStep = "OrderMissingItems";
            public const string WaitForItemsToArriveManualStep = "WaitForItemsToArrive";
            public const string FinishFinalStep = "Finish";
            public const string StartInitialStep = "Start";
            public const string AreAllItemsOnStockDecisionStep = "AreAllItemsOnStock";

        }

        public class Roles
        {
            public const string CustomerCare = "CustomerCare";
            public const string Inventory = "Inventory";
            public const string OrderHandling = "OrderHandling";

        }

        public class Transitions
        {
            public const string Start = "Start";
            public const string ConcordanceReady = "ConcordanceReady";
            public const string DiscountCheckReady = "DiscountCheckReady";
            public const string ItemsAreMissing = "ItemsAreMissing";
            public const string ItemsAreAvailable = "ItemsAreAvailable";
            public const string EmailSent = "EmailSent";
            public const string ItemsShipped = "ItemsShipped";
            public const string MissingItemsOrderDone = "MissingItemsOrderDone";
            public const string MissingItemsArrived = "MissingItemsArrived";

        }	
    }
}
